﻿#define _CRT_SECURE_NO_WARNINGS
#include"contact.h"
#include"seqlist.h"
#include<string.h>
//通讯录的初始化
void InitContact(contact* con) {

	SLInit(con);

}

//通讯录的摧毁
void DestroyContact(contact* con) {

	SLDestroy(con);

}

//通讯录的添加
void AddContact(contact* con) {

	PeoInfo info;
	printf("请输入要添加的联系人姓名:\n");
	scanf("%s", info.name);

	printf("请输入要添加的联系人性别:\n");
	scanf("%s", info.sex);

	printf("请输入要添加的联系人年龄:\n");
	scanf("%d", &info.age);

	printf("请输入要添加的联系人电话:\n");
	scanf("%s", info.tel);

	printf("请输入要添加的联系人住址:\n");
	scanf("%s", info.addr);

	//往通讯录中添加联系人数据
	SLPushBack(con, info);
}

int FindByName(contact* con, char name[])
{
	for (int i = 0; i < con->size; i++)
	{
		if (0 == strcmp(con->arr[i].name, name))
		{
			//找到了
			return i;
		}
	}
	//没有找到
	return -1;
}

void ContactFind(contact* con){
	char name[NAME_MAX];
	printf("请输入要查找的联系人姓名\n");
	scanf("%s", name);

	int find = FindByName(con, name);
	if (find < 0)
	{
		printf("要查找的联系人数据不存在！\n");
		return;
	}
	printf("姓名：%s，性别：%s，年龄：%d，电话：%s，地址%s\n", //手动调整一下格式
		con->arr[find].name,
		con->arr[find].sex,
		con->arr[find].age,
		con->arr[find].tel,
		con->arr[find].addr
	);
}


//删除
void DelContact(contact* con) {
	char name[NAME_MAX];
	printf("请输入要删除的联系人姓名:\n");
	scanf("%s", name);
	int find = FindByName(con,name);
	if (find < 0) {
		printf("要删除的联系人数据不存在\n");
	}
	SLErase(con, find);
	printf("删除成功\n");
}

//展⽰通讯录数据
void ShowContact(contact* con) {
	for (int i = 0; i < con->size; i++)
	{
		printf("姓名：%s,性别: %s ,年龄: %d ,电话:%s ,地址:%s\n", //手动调整一下格式
			con->arr[i].name,
			con->arr[i].sex,
			con->arr[i].age,
			con->arr[i].tel,
			con->arr[i].addr
		);
	}


}

//修改通讯录数据
void ModifyContact(contact* con) {
	char name[NAME_MAX];
	printf("请输入要修改的用户姓名：\n");
	scanf("%s", name);
	int find = FindByName(con, name);
	if (find < 0)
	{
		printf("要修改的联系人数据不存在！\n");
		return;
	}
	//直接修改
	printf("请输入新的姓名：\n");
	scanf("%s", con->arr[find].name);

	printf("请输入新的性别：\n");
	scanf("%s", con->arr[find].sex);

	printf("请输入新的年龄：\n");
	scanf("%d", &con->arr[find].age);

	printf("请输入新的电话：\n");
	scanf("%s", con->arr[find].tel);

	printf("请输入新的住址：\n");
	scanf("%s", con->arr[find].addr);

	printf("修改成功！\n");
}